1. Technical Field
The present invention relates in general to a method and system for data processing and in particular to an improved method and system of user interface to a data processing system. Still more particularly, the present invention relates to an improved method and system for presentation of certain graphical information (e.g., a tree hierarchy) on a display screen.
2. Description of the Related Art
Within data processing systems, user interfaces are accomplished in a variety of ways. An increasingly common type of user interface is a graphical user interface (GUI), which provides a user with a graphical and intuitive display of information. One common example is the display of a file system "tree hierarchy" illustrating how the various directories and files are organized in a storage device in the system. Quite often, the display of a tree hierarchy uses a pair of display frames, with one frame illustrating a portion of the tree and the second frame illustrating the contents of a particular object that has been selected by the user. Because each "node" in the tree may have subnodes (so-called "children" of a parent node), the display usually includes some mechanism for "expanding" a node to show its associated subnodes, or for collapsing such a node to hide the subnodes. If a file directory tree of even moderate size is fully-expanded to show all nodes and subnodes, however, its vertical extent is far greater than can be displayed in the frame. Thus, in such displays, only a small portion of the tree is capable of being shown on the screen at any one time. This makes it much more difficult for the user to work with the tree and to understand the hierarchical relationships between the tree elements.
A similar problem exists when the tree has a large and complex horizontal, as opposed to vertical, extent. One common example would be the display of the host computer nodes of a large, distributed computer system having a number of managed computers. Such highly-distributed computer networks may involve thousands of managed resources and many levels of complexity. It is known to graph the management hierarchy of such a system using a connected tree graph that extends horizontally across a display screen. As new levels are added, however, the tree becomes very hard to use because the amount of new information quickly takes up the available screen area. Management of such a system is very complex, and this task is made that much more difficult because of the inability to display the full network configuration on a single screen.
In both cases, the problem is one of optimizing the amount of the display screen that is actually being used to display information as the tree hierarchy (whether vertical or horizontal) increases in size and complexity. Techniques that display trees with large vertical extents are somewhat easy to use, but they make very poor use of the screen "real estate." On the contrary, techniques that display trees with large horizontal extents do a slightly better job of using more of the screen, but they are very hard to read and use.
Consequently, it would be highly desirable to provide an improved method and system for presenting hierarchical data within a GUI.